/** ActionListener */
import java.awt.event.ActionListener;

/** ArrayList */
import java.util.List;

/**
 * This is a interface class to handle SpaceTraderMainGUI at Main_Present
 *@author Code traders
 *@version 1.0
 */
public interface Model {
		
		/**
		 * this is show method to show up. 
		 */
		void show();
		
		/**
		 * This is to restart
		 */
		void restart();
		
		/**
		 * This is to get universe
		 * @return universe
		 */
        Universe getUniverse();
        
        /**
         * This is to set universe
         * @param u
         */
        void setUniverse(Universe u);
        
        /**
         * This is to get market place
         * @return marketplace
         */
        MarketPlace getMarketPlace();
        
        /**
         * This is to set market place
         * @param m
         */
        void setMarketPlace(MarketPlace m);
        
        /**
         * This is to get ship
         * @return ship
         */
        Ship getShip();
        
        /**
         * This is to set ship
         * @param s
         */
        void setShip(Ship s);
        
        /**
         * This is to get planets
         * @return planets
         */
    	List<Planet> getPlanetList();
    	
    	/**
    	 * This is to set planets
    	 * @param planets
    	 */
    	void setPlanetList(List<Planet> planets);
    	
    	/**
    	 * this is to get a planet
    	 * @return planet
    	 */
    	Planet getPlanet();
    	
    	/**
    	 * This is to set a planet
    	 * @param planet
    	 */
    	void setPlanet(Planet planet);
    	
    	/**
    	 * This is accept actionperformed
    	 * @param al1
    	 */
    	void storeAccept(ActionListener al1);
    	
    	/**
    	 * This is accept actionperformed
    	 * @param al2
    	 */
    	void infoAccept(ActionListener al2);
    	
    	/**
    	 * This is accept actionperformed
    	 * @param a13
    	 */
    	void mapAccept(ActionListener a13);
}
